草庐IT

php json_encode 不转义新行

全部标签

ruby - 在 Ruby/Rails 中,如何对 URL 中的特殊字符进行编码/转义?

在使用OpenURIopen(url)之前如何对URL进行编码或“转义”?我们正在使用OpenURI打开远程url并返回xml:getresult=open(url).read问题是URL包含一些包含空格和其他字符的用户输入文本,可能包括“+”、“&”、“?”等,因此我们需要安全地对URL进行转义。我在使用Net::HTTP时看到了很多示例,但没有找到任何用于OpenURI的示例。我们还需要能够对在session变量中收到的类似字符串进行反转义,因此我们需要倒数函数。 最佳答案 不要使用URI.escape,因为它已在1.9中弃用。

ruby-on-rails - Encoding::UndefinedConversionError 写入二进制文件时

我有一个网站需要加密和存储上传到服务器的二进制文件。上传和存储工作正常,但在尝试写入加密文件时出现此错误:Encoding::UndefinedConversionError("\xDD"fromASCII-8BITtoUTF-8):导致它的代码如下所示:fd_in=IO.sysopen(self[:name].tempfile.path,"rb")file_in=IO.open(fd_in)fd_out=IO.sysopen(self[:name].tempfile.path+".encrypted","wb")file_out=IO.open(fd_out)cipher=OpenS

ruby - 从字符串中删除反斜杠(转义字符)

我正在尝试使用我自己的JSON解析器。我有一个要标记化的输入字符串:input="{\"foo\":\"bar\",\"num\":3}"如何删除转义字符\使其不再是我的token的一部分?目前,我使用delete的解决方案有效:tokens=input.delete('\\"').split("")=>["{","","f","o","o",":","","b","a","r",",","","n","u","m",":","","3","}"]但是,当我尝试使用gsub时,它找不到任何\"。tokens=input.gsub('\\"','').split("")=>["{",""

ruby-on-rails - 将 Ruby 哈希转换为 JSON(无转义字符)

我有一个哈希:my_hash={"bob.johnson@example.com"=>{"first"=>"Bob","last"=>"Johnson"},"lisa.dell@example.com"=>{"first"=>"Lisa","last"=>"Dell"}}当我尝试用my_hash.to_json序列化它时,这是我得到的:"{\"bob.johnson@example.com\":{\"first\":\"Bob\",\"last\":\"Johnson\"},\"lisa.dell@example.com\":{\"first\":\"Lisa\",\"last\":\

ruby-on-rails - JSON 编码错误转义(Rails 3、Ruby 1.9.2)

在我的Controller中,以下工作(打印“oké”)putsobj.inspect但这不会(呈现“ok\u00e9”)render:json=>obj显然to_json方法转义了unicode字符。有没有办法阻止这种情况? 最佳答案 将\uXXXX代码设置回utf-8:json_string.gsub!(/\\u([0-9a-z]{4})/){|s|[$1.to_i(16)].pack("U")} 关于ruby-on-rails-JSON编码错误转义(Rails3、Ruby1.9.2

ruby - 如何转义 YAML 中的 % 字符?

如何转义YAML中的%字符? 最佳答案 尝试%%它可能会逃脱。 关于ruby-如何转义YAML中的%字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6051090/

Ruby 反斜杠在新行上继续字符串?

我正在审查拉取请求中的一行Ruby代码。我不确定这是错误还是我以前从未见过的功能:puts"AstringofRubythat"\"continuesonthenextline"反斜杠是连接这些字符串的有效字符吗?或者这是一个错误? 最佳答案 这是有效代码。反斜杠是续行。您的代码有两段引用的文本;运行看起来像两个字符串,但实际上只是一个字符串,因为Ruby连接以空格分隔的运行。实际上只是一个字符串的三个引用的文本示例:"a""b""c"=>"abc"使用\续行的三个引号文本实际上只是一个字符串的示例:"a"\"b"\"c"=>"ab

ruby-on-rails - ruby 正则表达式错误 : incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)

我遇到了两个错误,都与编码有关并且都相关。我在启动WEBrick时遇到的第一个错误(技术上是警告):/Users/USERNAME/example/config/initializers/bb-ruby.rb:54:warning:invalidUnicodeProperty\P:/\:\-?\P/它所指的行是:/\:\-?\P/,这只是一些正则表达式,最终是这个block的一部分:@@tags['Razzing']=[/\:\-?\P/,'','Razzing',':P',:razzing]然后,我在解析一些字符串时也得到了以下错误(大概是由于同一行)...Encoding::Com

ruby - ruby 中的#encode 和#force_encoding 有什么区别?

我真的不明白Ruby中String类的#encode和#force_encoding之间的区别。我知道"kam".force_encoding("UTF-8")会强制"kam"以UTF-8编码,但是#encode(编码)不同?http://ruby-doc.org/core-2.0/String.html#method-i-encoding 最佳答案 差别还是挺大的。force_encoding设置给定的字符串编码,但不更改字符串本身,即不更改它在内存中的表示形式:'łał'.bytes#=>[197,130,97,197,130]

ruby 1.9,force_encoding,但检查

我有一个从某种输入中读取的字符串。据我所知,它是UTF8。好的:string.force_encoding("utf8")但是如果这个字符串中的字节实际上不是合法的UTF8,我想现在就知道并采取行动。一般遇到这样的字节,force_encoding("utf8")会引发吗?我相信不会。如果我在做#encode我可以从方便的选项中选择如何处理源编码(或目标编码)中无效的字符。但我不是在执行#encode,而是在执行#force_encoding。它没有这样的选项。这是否有意义string.force_encoding("utf8").encode("utf8")立即获得异常?通常编码fr